home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / T / TrueType™ Test Tool.cpt / TrueType™ Test Tool / Read Me • Flirt 1.24 < prev    next >
Text File  |  1990-10-18  |  15KB  |  319 lines

  1. This is the release note for FLIRT, verison 1.24.  This is a maintenance update.
  2.  
  3. Summary of changes since 1.23b8:
  4.  
  5. General changes:
  6. •    Flirt is now fully two-byte compatible.  It is NOT localized, just
  7. compatible with two-byte script systems, like Japanese, Traditional and Simplified
  8. Chinese, and Korean.  Flirt allows entry of characters using whatever input method is
  9. currently chosen in the Control Panel.  Certain features of Flirt are disabled when a
  10. non-Roman font is selected in the Font menu.  The only known problem is that I use nifty
  11. char- acters greater than 128 (like curly quotes, ellipses, etc.).  These map (at least
  12. in the Japanese system) to some one-byte Katakana characters.  They don't get in the way
  13. very much, however.
  14.  
  15. •    The Sequestered Flirtation "FixWindows" was made smarter so that fixing windows
  16. wouldn't cause a DataView recalcation.
  17.  
  18. UniView changes:
  19. •    The UniView options dialog now has a field where you can enter (or
  20. view) the current character code being displayed in hex.  This is part of the new two
  21. byte support.  Roman systems limit the character code to $ff, non-Roman to $ffff.
  22.  
  23. •    The "Map In Extra Glyphs" feature has been extended to allow you to write out a
  24. remapped font.  This is achieved by first choosing Map In Extra Glyphs to map in the
  25. extra glyphs, then choosing the menu item again with the Option key held down. You will
  26. receive a standard Save dialog, allowing you to name the remapped font suitcase file.
  27. There is a restriction on this feature.  The font being saved must be "alone" in it's
  28. FOND.  That means no other bitmap or sfnt fonts may be installed with it.  This is STILL
  29. a skanky hack, and requires a fairly late-version INIT to function properly.
  30.  
  31. •    A major bug in "Map In Extra Glyphs" that regularly caused system heap corruption was
  32. fixed.
  33.  
  34. •    The method by which remapped glyphs are indicated in the ASCII window has been
  35. changed to a more visually obvious method.  In color, remapped glyphs are framed in red.
  36. In black & white, they are framed in 50% gray.  This is alot easier to see than the tiny
  37. black dot you used to get.
  38.  
  39. •    When UniView is displaying a Roman font with drawing method "DrawString" selected, it
  40. used to DrawString the three-character string "<space><character><space>".  The first
  41. character is to allow characters that kern to the left to not get clipped.  The in-
  42. tention of the space at the end was to allow characters to kern right to not get clipped.
  43. It turns out that having the space there MAKES them get clipped.  So now UniView draws
  44. the string "<space><character>" instead.  This behaves as desired.
  45.  
  46. •    As a part of UniView's two-byte compatibility upgrade, a new UniView Print Option was
  47. added.  An ASCII range can now be specified.  The upper limit on the character codes of
  48. the range depends on the current script system.
  49.  
  50. MagnaView changes:
  51. •    MagnaView is now fully two-byte compatible.  Text sets may be
  52. entered and named in a two-byte script.  MagnaView printing has been extensively revised
  53. to handle mixed one- and two-byte input text.
  54.  
  55. •    MagnaView was modified to properly update when you've modified the current font with
  56. the Header Editor.
  57.  
  58. •    Three new text sets were added.  "ASCII 0...127" contains the characters 0...127 in
  59. order, "ASCII 128...255" contains the characters 128...255 in order, and the "The “Extra
  60. 32”" contains the characters 128...143 in order.
  61.  
  62. •    A bug where the line height box in the MagnaView window could be drawn in the wrong
  63. font was fixed.
  64.  
  65. DataView changes:
  66. •    A serious bug where missing tables could cause bus or address errors was fixed.
  67.  
  68. •    A place where the 'hmtx' and character set checks gave contradictory
  69. advice has been fixed.
  70.  
  71. •    When two or more characters are supposed to have the same width, Flirt's wording has
  72. been changed to not imply that a given character has the "right" width.
  73.  
  74. •    The fonts that DataView uses have been tamed down to Geneva and Monaco, in sizes that
  75. most people have installed.  These fonts, when printed to a PostScript printer using the
  76. default Page Setup will substitue to Helvetica and Courier and will look quite nice.  You
  77. can change them if you want...just edit the 'STL#" resource in the Flirt application
  78. file.  There's a ResEdit template in there, too.
  79.  
  80. Summary of changes since 1.23b3:
  81.  
  82. UniView changes:
  83. •    As part of an overall Flirt Script-Manager compatibility campaign,
  84. UniView is now two-byte font compatible (under two-byte Systems, like KanjiTalk).  Other
  85. parts of Flirt have not yet been rev'd.
  86.  
  87. DataView changes:
  88. •    DataView's 'cmap' testing code had a bug if there were multiple
  89. 'cmap's in a single font.  This should work fine now.
  90.  
  91. Summary of changes since 1.23b1:
  92.  
  93. DataView bugs:
  94. •    The troublesome 'post' table checks were still a little screwed up.
  95. This version hopefully fixes the problems (thanks to Henry Pinkham of Projective
  96. Solutions for the help).
  97.  
  98. Summary of changes since 1.22:
  99.  
  100. New features/changes:
  101. •    There's a new item in the View menu, "Map In Extra Glyphs".  This
  102. item is available when a TrueType font is chosen in the Font menu and it has more than
  103. 226 glyphs.  When this command is chosen, it maps in up to 128 glyphs (starting with
  104. glyph index 226) in starting at ASCII 128.  This means that after choosing the command,
  105. some number of glyphs will be mapped OVER what used to be there. For instance, for a font
  106. with the standard Apple character set and encoding, there are 258 glyphs, 226 of which
  107. are normally encoded into the ASCII range.  After mapping in the extra glyphs, ASCII 128
  108. (normally "Ä") thru ASCII 159 (normally "ü") would be mapped to the extra glyphs (so 128
  109. would be the Lslash, 129 would be the lslash, ... 159 would be the dmacron).  Choosing a
  110. new font, a new style, or choosing Map In Extra Glyphs again will undo the changes.
  111.  
  112. Please note that what I have to do to remap the font is extremely skanky.  It brought
  113. forth a bug in the Font Manager, so it only works with very recent INITs. Furthermore,
  114. violent crashes may occur.  I've put some debug code in a few places. if you see a
  115. message that says "sfnt_GrowTable: ..." in Macsbug, save yourself and type "g exit".
  116. When 1.23 final comes around, the debug stuff will be removed.
  117.  
  118. Note that this is not (and does not pretend to be) a solution to the larger problem of
  119. how to handle unencoded glyphs.  This is a hack that solves, at least, some of Apple’s
  120. in-house proofing problems.
  121.  
  122. UniView changes:
  123. •    The ASCII window now places a dot in the bottom left corner of glyphs
  124. that have been remapped via the Map In Extra Glyphs command described above.
  125.  
  126. DataView bugs/changes:
  127. •    A bug in the 'cmap' test code that might be causing problems
  128. with multiple 'cmap's has been fixed.
  129.  
  130. •    The time now accompanies the date at the top of DataView listings.
  131.  
  132. •    The version string (name ID 5) from the naming table is now displayed at the top of
  133. DataView listings.
  134.  
  135. Summary of changes since 1.21:
  136.  
  137. New features/changes:
  138. •    The "Open Suitcase…" command in the File menu now opens files of type 'ffil' and
  139. 'tfil', which are generated by the System 7.0 Mover.
  140.  
  141. •    The printed copyright notices have been reworded to clarify that it is Flirt that
  142. is copyrighted by Apple, not the font printed on the page.
  143.  
  144. UniView bugs:
  145. •    The Header editor dialog template was corrected.
  146.  
  147. DataView bugs:
  148. •    There are two new tests in the 'hhea' table.  If yDescender < yMin or yAscender > yMax,
  149. a warning is generated.
  150.  
  151. •    In the 'maxp' table tests, the maxSizeOfInstructions entry now takes into account
  152. the number of instructions in the 'fpgm' and 'prep' tables, should they exceed the largest
  153. number of instructions in any one glyph description.
  154.  
  155. •    The 'post' table tests for format 2.0 'post' tables were completely wrong in Flirt
  156. version 1.21.  This is because I totally misinterpreted the data structure.  Flirt 1.22
  157. now has correct format 2.0 tests.
  158.  
  159. Summary of changes since 1.10:
  160.  
  161. New features:
  162. •    When you open a suitcase with "Open Suitcase…", Flirt searches the suitcase for the
  163. first 'FOND', and checks that font name in the Font menu.  This has the effect of usually
  164. checking the font you intended when you open a suitcase.
  165.  
  166. General bugs:
  167. •    Two bugs that could cause a crash when bringing a DataView or MagnaView window to the
  168. front were fixed.
  169.  
  170. •    The decision about whether to display the about box in color or B&W is now based on the
  171. pixel depth of the MAIN screen, rather than the depth of the deepest screen.
  172.  
  173. UniView bugs:
  174. •    The slopRatio, maxInterCharExpansion, maxInterCharCompression, spaceCharMax, and
  175. spaceCharMin fields have been dropped and are now called "reserved."  The Header Editor
  176. has been updated with these new names.
  177.  
  178. MagnaView changes:
  179. •    The MagnaView print options dialog now disallows the "all metrics" radio button when
  180. the font being printed is a bitmap font.  This was done because the x-height, cap-height,
  181. and descender-depth are determined with a call to OutlineMetrics, which doesn't work for
  182. bitmap fonts.
  183.  
  184. DataView bugs/changes:
  185. •    Code to test the ‘crpy’ and ‘mvt ’ tables was removed, since those tables are no longer
  186. supported.
  187.  
  188. •    The above-mentioned fields that have disappeared from the 'head' are now checked by
  189. DataView to ensure that they are zero.  The previous errors and warnings these fields could
  190. generate are now obsolete.
  191.  
  192. •    New code was introduced to check ‘post’ tables, as described in the upcoming
  193. documentation release.
  194.  
  195. •    A section has been added to the DataView listing that tells whether the full set of
  196. required tables was found.  An error is generated if a required table is not present.
  197.  
  198. •    A bug in the table directory check that caused DataView to fail if a font didn’t have
  199. its tag table sorted properly has been fixed.
  200.  
  201. •    A bug where certain conditions could cause incorrect errors to be reported in the table
  202. directory was fixed.
  203.  
  204. •    The character set tests have been updated (again) to conform with the current documentation.
  205.  
  206. Summary of changes since 1.05:
  207.  
  208. General bugs:
  209. •    UniView line lists and DataView results documents no longer have their Bundle bit set
  210. (which prevented them from auto-launching Flirt from the Finder).
  211.  
  212. UniView bugs:
  213. •    The style shown in the UniView window status area is now abbreviated, preventing it
  214. from crashing into the text on its right for complex styles.
  215.  
  216. •    UniView now correctly calculates the UniView window character size at program startup.
  217.  
  218. •    The annoying "There’s no glyph for that character" alert has been removed.
  219.  
  220. •    The font name shown in the status area at the top of the UniView window is now
  221. abbreviated with an ellipsis when it is too long, rather than just crashing into the
  222. character code to its right.
  223.  
  224. •    UniView controls no longer draw twice on updates.
  225.  
  226. MagnaView bugs:
  227. •    A gnarly bug that caused ugly crashes when using the "Portion Print" MagnaView printing
  228. option has been fixed.
  229.  
  230. •    A bug that caused multiple redraws of the MagnaView window after text sets had been edited.
  231.  
  232. •    A bug where the MagnaView window was drawn in the wrong font when using Bassomatic or
  233. suitcase files was fixed.
  234.  
  235. •    MagnaView controls no longer draw twice on updates.
  236.  
  237. DataView bugs:
  238. •    DataView no longer erroneously reports “extra bytes used” for composite glyphs that have
  239. instructions after the components.
  240.  
  241. •    An ugly bug related to transformed-component composite glyph bounding boxes was fixed.
  242. Glyph bboxes are now calculated correctly by FLIRT.
  243.  
  244. •    The DataView window now refreshes correctly after printing a DataView within Flirt,
  245. instead of reformatting to the printer page size.
  246.  
  247. •    Debug code has been removed from certain sfnt-parsing routines.
  248.  
  249. •    DataView controls no longer draw twice on updates.
  250.  
  251. BigChar bugs:
  252. •    A bug where the preview character wasn't consistently drawn was fixed.
  253.  
  254. •    The possibility of zero divide errors errors has been reduced.
  255.  
  256. New features:
  257. •    DataView now supports tag format 'sfnt's and has lots of new tests for new table types.
  258. TONS of code changed.  If you find bugs, link 'em to me right away!
  259.  
  260. •    The UniView header editor had to be rewritten because the header format changed alot.
  261. Now there are only two dialogs, but it works the same way.
  262.  
  263. •    Command-F has been added as a keyboard equivalent for "Open Bassomatic File…".
  264.  
  265. Summary of changes since 1.03b2:
  266.  
  267. General bugs:
  268. •    Tearing off the Tools menu in UniView no longer makes the menu jump back
  269. when menu flashing is turned on.
  270.  
  271. •    Several bugs in the "Open Bassomatic File..." command caused it to crash and
  272.     burn violently.  This routine has been fixed and should now work reliably.
  273.  
  274. DataView bugs: •    The DataView character set tests have been updated.
  275.  
  276. •    DataView no longer reports "bad combinations of flags in a component"  errors when
  277. both the ARG_1_AND_2_ARE_WORDS and ARGS_ARE_XY_VALUES flags are set. (I sure got raked
  278. over the coals for that one).
  279.  
  280. •    DataView now reports a warning instead of an error if yDescender is >= 0.
  281.  
  282. •    The warning that occurs when maxTwilightPoints = 0 and maxElements = 2 had a bug
  283. in the printf format.  The bug has been fixed.
  284.  
  285. •    Fixed a bug where DataView would report an error if a composite character had
  286. instructions after its component list.
  287.  
  288. •    Assorted minor bugs too obscure to mention were also fixed.
  289.  
  290. MagnaView:
  291. •    The arrows now have a more liberal 10-tick delay between iterations, which makes
  292. choosing a size or zoom easier.
  293.  
  294. I got several links from vendors who disliked my method of calculating glyph bounding
  295. boxes.  I simply loop through all the points in the glyph and remember the yMax, yMin,
  296. xMax, and xMin.  It is possible, however, to have glyphs whose actual curves do not have
  297. the same bounding box.  According to Mike Reed, THE BOUNDING BOX OF THE POINTS SHOULD BE
  298. THE SAME AS THE BOUNDING BOX FOR THE CURVES, or we won't draw your type correctly.  This
  299. means having points at all the local maxima and minima.
  300.  
  301. It seems advisable to calculate new bounding boxes glyphs derived by translation from
  302. another format, rather than translating the bounding boxes from the old format.
  303.  
  304. New features: Based on requests from within Apple and the feedback of developers,
  305. MagnaView has been completely rewritten with considerably enhanced functionality.  The
  306. new features of MagnaView are outlined in the new version of the Flirt manual.
  307.  
  308. UniView now allows the use of the forward and backward arrows to move to the next or
  309. previous ASCII character.  Option-resizing or option-zooming causes the UniView character
  310. to be resized for the new window size.
  311.  
  312. I hope these changes help.  Feel free to link me any other bugs, problems, ques- tions,
  313. or feature requests.  Thanks to all who provided feedback.
  314.  
  315. Sincerely,
  316.  
  317. Bryan K. Ressler (Beaker)
  318. AppleLink: BEAKER
  319.